package com.haust.itemparam.controller;

import com.haust.commons.exception.DaoException;
import com.haust.commons.pojo.HaustResult;
import com.haust.itemparam.service.ItemParamService;
import com.haust.pojo.TbItemParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin
public class ItemParamController {
    @Autowired
    private ItemParamService itemParamService;

    /**
     * 查询全部规格参数
     *
     * @return
     */
    @GetMapping("/backend/itemParam/selectItemParamAll")
    public HaustResult selectItemParamAll() {
        return itemParamService.selectItemParamAll();
    }

    /**
     * 判断商品分类是否含有规格分类
     *
     * @param itemCatId 商品分类主键
     * @return
     */
    @GetMapping("/backend/itemParam/selectHaveParam")
    public HaustResult selectHaveParam(@RequestParam("itemCatId") Long itemCatId) {
        return itemParamService.selectHaveParam(itemCatId);
    }

    /***
     * 新增规格参数
     * @param tbItemParam 新增数据
     * @return
     */
    @PostMapping("/backend/itemParam/insertItemParam")
    public HaustResult insertItemParam(TbItemParam tbItemParam) {
        try {
            return itemParamService.insertItemParam(tbItemParam);
        } catch (DaoException e) {
            e.printStackTrace();
            return HaustResult.error("服务器忙，请稍后重试！");
        }

    }

    /**
     * 根据 规格Id,删除规格参数
     *
     * @param id 规格参数Id
     * @return
     */
    @GetMapping("/backend/itemParam/deleteItemParamById")
    public HaustResult deleteItemParamById(@RequestParam("id") Long id) {
        try {
            return itemParamService.deleteItemParamById(id);
        } catch (DaoException e) {
            return HaustResult.error("服务器忙，请稍后重试！");
        }
    }


    @GetMapping("/backend/itemParam/selectItemParamByItemCatId/{itemCatId}")
    public HaustResult selectItemParamByItemCatId(@PathVariable("itemCatId")Long itemCatId){
        return itemParamService.selectItemParamByItemCatId(itemCatId);
    }

}
